package crc;

/**
 *
 * @author Luis
 */
public class Verificacion {

    public static class VRC {

        public static void bitParidad(String linea, String tipo) {
            int cont1 = 0, cont0 = 0;
            for (int i = 0; i < linea.length(); i++) {
                if (linea.charAt(i) == '1') {
                    cont1++;
                } else if (linea.charAt(i) == '0') {
                    cont0++;
                }
            }
            paridadPar(tipo, cont0, cont1);
            paridadImpar(tipo, cont0, cont1);
        }

        public static char paridadPar(String tipo, int cont0, int cont1) {
            char bit = '\\';
            if (tipo.equals("PAR")) {
                if (cont1 % 3 == 0 || cont0 % 3 == 0) {
                    if (cont1 % 2 != 0) {
                        bit = '1';
                    } else {
                        bit = '0';
                    }
                }
            }
            return bit;
        }

        public static char paridadImpar(String tipo, int cont0, int cont1) {
            char bit = '\\';
            if (tipo.equals("IMPAR")) {
                if (cont1 % 2 == 0 || cont0 % 2 == 0) {
                    if (cont1 % 2 == 0) {
                        bit = '1';
                    } else {
                        bit = '0';
                    }
                }
            }
            return bit;
        }
    }

    public static class CRC {

        public static String mensajeError(String divid, String divis) {
            
            String linea = validacion(divid,divis);
            if(linea.isEmpty()){                            
            int dividendo = Integer.parseInt(divid, 2);
            int divisor = Integer.parseInt(divis, 2);
            int residuo = (dividendo % divisor);
            int r = residuo + dividendo;
            String resid = Integer.toString(residuo, 2);
            System.out.println(resid);
            String rBinario = Integer.toString(r, 2);
            linea = rBinario + "," + resid;
            }
            return linea;
        }

        public static String validacion(String divid, String divis) {
            String linea = "";
            for (int i = 0; i < divid.length(); i++) {
                if (!(divid.charAt(i) == '0' || divid.charAt(i) == '1')) {
                    linea = " " + "," + "Por Favor.Ingresar numeros binaros.Gracias";
                }

            }
            for (int i = 0; i < divis.length(); i++) {
                if (!(divis.charAt(i) == '0' || divis.charAt(i) == '1')) {
                    linea = " " + "," + "Por Favor.Ingresar numeros binaros.Gracias";
                }

            }
            if (divid.isEmpty() || divis.isEmpty()) {
                linea = "" + "," + "Por Favor.Ingresar todos los campos.Gracias";
            }
            return linea;
        }
    }

    public static void main(String[] args) {

        System.out.println(CRC.mensajeError("100100", "1101"));
    }
}
